#ifndef _MUSIC_PLAYER_H
#define _MUSIC_PLAYER_H

#include <vector>
#include <SFML/Audio.hpp>
#include <string>
#include <memory>

class MusicPlayer
{
public:
	MusicPlayer();

	void update(double dt);

	void play();
	void stop();
	void pause();

	void nextSong();
	void previousSong();

	void shuffle();

	void setVolume(float v);
	void turnUpVolume();
	void turnDownVolume();
	void mute();
	void unmute();

private:
	void loadPlaylist(std::string filename);

private:
	sf::Music music;
	std::vector<std::string> songList;
	int currentSong;
	bool autoPlay;
	float volume;
	float volumeBeforeMute;

	const int volumeIncrement = 10;
};

#endif